This invention relates to developing voice response applications and the apparatus and methods for doing so.
The development of an interactive voice response application to work in a telephony system is the major part of the total solution once the platform and hardware have been set up. The financial resources needed for the development can be in the same order of magnitude as the hardware costs and there always exists the need to improve on development techniques and reduce time and financial commitments.
An area where large amounts of development time is taken up is recording voice prompts for use in the application. Invariably the structure of the application is changed, features need to be added and new voice prompts have to be recorded after the initial recording. Recording voice prompts at two or more different times incurs valuable time and resources.
When pre-recorded prompts already exist the problem is more complex since the new prompts will ideally match the old prompts in style and accent. A lack of pre-recorded voice segments for playing to the caller and enabling xe2x80x98navigationxe2x80x99 of the telephony application is a significant factor which can slow down the development of the application. Therefore when pre-recorded prompts exist it is preferable to use them during development but not to record new prompts until development is over.
One attempt at lessening the burden of the problem has been attempted by the applicants in its DirectTalk/2 Development Tool Kit. A database of the voice prompts comprised prompt identifiers together with respective prompt text data corresponding to the voice that would be recorded at a later time. A voice application flag was set to indicate when the prompt voice data was incomplete. When this flag was set the routine for playing the prompt voice data would divert to a text-to-speech routine and the corresponding prompt text data was output using the text-to-speech adapter. This solution is very all or nothing and makes no use of incomplete sets of pre-recorded voice prompts.
According to one aspect of the present invention there is provided in an interactive voice response (IVR) development system having a recorded voice generator and a text-to-speech synthesiser, a method of processing a prompt identifier in an IVR application, said IVR application comprising at least one prompt identifier and a prompt database, each voice prompt identifier having a data structure within the prompt database for storing: associated voice prompt data; associated synthesised prompt data; and associated text prompt data for text-to-speech processing, the method comprising steps: searching the prompt database for data associated with the prompt identifier; sending the voice prompt data to the recorded voice generator if voice prompt data is available; sending the synthesised prompt data to the recorded voice generator if voice prompt data is not available and if the synthesised prompt data is available; sending text prompt data to the text-to-speech synthesiser if the text prompt data is available and if both voice prompt data and synthesised prompt data are not available.
Preferably each of a plurality of voice prompts is associated with a respective one of a plurality of pre-recorded memory locations and one pre-recorded voice prompt location is checked in response to one voice prompt play command in the IVR application.
The voice prompt is most preferably associated with a synthesised voice prompt memory location and the synthesised voice prompt memory location is checked for synthesised voice prompt data. An IVR output is selected and synthesised voice prompt data is sent to the IVR output if synthesised voice prompt data is available in the memory location.
The voice prompt is also favourably associated with a voice prompt text memory location for storing voice prompt text and the voice prompt text memory location is checked for voice prompt text. A text-to-speech output is selected and the voice prompt text is sent to the text-to-speech output if voice prompt text is available in the memory location.
Such a solution provides a faster and more programmer friendly environment for the development of interactive voice response applications. Furthermore significant costs of recording and storing infrequently used voice phrases or words.